翻訳と辞書
Words near each other
・ "O" Is for Outlaw
・ "O"-Jung.Ban.Hap.
・ "Ode-to-Napoleon" hexachord
・ "Oh Yeah!" Live
・ "Our Contemporary" regional art exhibition (Leningrad, 1975)
・ "P" Is for Peril
・ "Pimpernel" Smith
・ "Polish death camp" controversy
・ "Pro knigi" ("About books")
・ "Prosopa" Greek Television Awards
・ "Pussy Cats" Starring the Walkmen
・ "Q" Is for Quarry
・ "R" Is for Ricochet
・ "R" The King (2016 film)
・ "Rags" Ragland
・ ! (album)
・ ! (disambiguation)
・ !!
・ !!!
・ !!! (album)
・ !!Destroy-Oh-Boy!!
・ !Action Pact!
・ !Arriba! La Pachanga
・ !Hero
・ !Hero (album)
・ !Kung language
・ !Oka Tokat
・ !PAUS3
・ !T.O.O.H.!
・ !Women Art Revolution


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

double hashing : ウィキペディア英語版
double hashing
Double hashing is a computer programming technique used in hash tables to resolve hash collisions, cases when two different values to be searched for produce the same hash key. It is a popular collision-resolution technique in open-addressed hash tables. Double hashing is implemented in many popular libraries.
Like linear probing, it uses one hash value as a starting point and then repeatedly steps forward an interval until the desired value is located, an empty location is reached, or the entire table has been searched; but this interval is decided using a second, independent hash function (hence the name double hashing). Unlike linear probing and quadratic probing, the interval depends on the data, so that even values mapping to the same location have different bucket sequences; this minimizes repeated collisions and the effects of clustering.
Given two randomly, uniformly, and independently selected hash functions h_1 and h_2, the ''i''th location in the bucket sequence for value ''k'' in a hash table T is: h(i,k)=(h_1(k) + i \cdot h_2(k))\mod |T|.
Generally, h_1 and h_2 are selected from a set of universal hash functions.
== Classical applied data structure ==
Double hashing with open addressing is a classical data structure on a table T. Let n be the number of elements stored in T, then T's load factor is \alpha = \frac.
Double hashing approximates uniform open address hashing.
That is, start by randomly, uniformly and independently selecting two universal hash functions h_1 and h_2 to build a double hashing table T.
All elements are put in T by double hashing using h_1 and h_2.
Given a key k, determining the (i+1)-st hash location is computed by:
h(i,k) = ( h_1(k) + i \cdot h_2(k) ) \mod |T|.
Let T have fixed load factor \alpha: 1 > \alpha > 0.
Bradford and Katehakis
P. G. Bradford and M. Katehakis:
''A Probabilistic Study on Combinatorial Expanders and Hashing'', SIAM Journal on Computing 2007 (37:1), 83-111.
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.91.2647

showed the expected number of probes for an unsuccessful search in T, still using these initially chosen hash functions, is \frac regardless of the distribution of the inputs.
More precisely, these two uniformly, randomly and independently chosen hash functions are chosen from a set of universal hash functions where pair-wise independence suffices.
Previous results include:
Guibas and Szemerédi〔
L. Guibas and E. Szemerédi:
''The Analysis of Double Hashing'', Journal of Computer and System Sciences, 1978, 16, 226-274.

showed \frac holds for unsuccessful search for load factors
\alpha < 0.319.
Also, Lueker and Molodowitch〔
G. S. Lueker and M. Molodowitch:
''More Analysis of Double Hashing'', Combinatorica, 1993, 13(1), 83-96.

showed this held assuming ideal randomized functions.
Schmidt and Siegel〔
J. P. Schmidt and A. Siegel:
''Double Hashing is Computable and Randomizable with Universal Hash Functions'', manuscript.

showed this with k-wise
independent and uniform functions (for k = c \log n, and suitable constant c).

抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「double hashing」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.